home *** CD-ROM | disk | FTP | other *** search
/ Fritz: All Fritz / All Fritz.zip / All Fritz / FILES / PROGASIC / COMMENTS.LZH / COMMENTS.DOC < prev    next >
Text File  |  1991-04-16  |  62KB  |  1,584 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.  
  11.  
  12.  
  13.  
  14.  
  15.  
  16.  
  17.  
  18.                                    COMMENTS  v.1.2
  19.  
  20.                        The QuickBASIC comments adding utility
  21.  
  22.                                   by LAMCO Software
  23.  
  24.  
  25.  
  26.  
  27.  
  28.  
  29.                                     User's manual
  30.  
  31.  
  32.  
  33.  
  34.  
  35.  
  36.                          Copyright (c) 1991 - LAMCO Software
  37.  
  38.  
  39.                        In U.S.A.,             In Canada,
  40.  
  41.                        P.O. Box 847           P.O. Box 46
  42.                        St-Albans              Postal Station P.A.T.
  43.                        VT                     Montreal, Quebec
  44.                        05478                  H1B 5K1
  45.  
  46.  
  47.  
  48.  
  49.  
  50.  
  51.  
  52.  
  53.  
  54.  
  55.  
  56.  
  57.  
  58.  
  59.  
  60.  
  61.  
  62.  
  63.  
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70.  
  71.      ┌┬──────────────────────────────────────────────────────────────────────┬┐
  72.      ││                        COMMENTS - Version 1.2                        ││
  73.      ││                                                                      ││
  74.      ││                      (c) 1991 by LAMCO Software                      ││
  75.      ││                                                                      ││
  76.      ││                The program that will add comments for                ││
  77.      ││                you in any of your QuickBASIC listings                ││
  78.      └┴──────────────────────────────────────────────────────────────────────┴┘
  79.  
  80.         ┌┬────────────────────────────────────────────────────────────────┬┐
  81.         ││  QuickBASIC is a registered trademark of Microsoft Corp. Inc.  ││
  82.         └┴────────────────────────────────────────────────────────────────┴┘
  83.  
  84.      ┌┬──────────────────────────────────────────────────────────────────────┬┐
  85.      ││  Contents                                                            ││
  86.      └┴──────────────────────────────────────────────────────────────────────┴┘
  87.  
  88.           1 - What is COMMENTS . . . . . . . . . . . . . . . . . . . . .  3
  89.  
  90.           2 - What is added to the module level of your listing  . . . .  4
  91.  
  92.           3 - What is added to each procedure of your listing  . . . . .  5
  93.  
  94.           4 - Requirements . . . . . . . . . . . . . . . . . . . . . . .  6
  95.  
  96.           5 - How COMMENTS works . . . . . . . . . . . . . . . . . . . .  8
  97.  
  98.           6 - About '$INCLUDE files and .MAK files . . . . . . . . . . .  9
  99.  
  100.           7 - How to use COMMENTS  . . . . . . . . . . . . . . . . . . .  9
  101.  
  102.           8 - How to use COMMENTS - Systems without a hard drive . . . . 10
  103.  
  104.           9 - How to use COMMENTS - Answering prompts  . . . . . . . . . 11
  105.  
  106.          10 - COMMENTS Limitations . . . . . . . . . . . . . . . . . . . 22
  107.  
  108.          11 - Technical support  . . . . . . . . . . . . . . . . . . . . 23
  109.  
  110.          12 - What's coming up in version 2.0  . . . . . . . . . . . . . 23
  111.  
  112.          13 - About Shareware (Registration) . . . . . . . . . . . . . . 24
  113.  
  114.  
  115.  
  116.  
  117.  
  118.  
  119.  
  120.  
  121.  
  122.  
  123.  
  124.  
  125.  
  126.  
  127.  
  128.  
  129.  
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136.  
  137.      ┌┬──────────────────────────────────────────────────────────────────────┬┐
  138.      ││  1 - What is COMMENTS                                                ││
  139.      └┴──────────────────────────────────────────────────────────────────────┴┘
  140.  
  141.      Any serious reference manual about programming in any language says at
  142.      least once that every programmer should use comments extensively.
  143.  
  144.      Let's face it, that's the part of writting a program that everybody hates
  145.      the most.
  146.  
  147.      COMMENTS takes care of a great part of that burden for you by adding to
  148.      your listing all the information it can gather from analyzing it.
  149.  
  150.      COMMENTS makes a backup copy of your listing in a file that uses the same
  151.      filename with a .BAK extension.
  152.  
  153.      It also creates a separate file with a .STR extension that will contain
  154.      the complete structure of your listing if there is at least one procedure.
  155.  
  156.      The new file with a .BAS extension will contain your listing and the
  157.      following :
  158.  
  159.           In the Main Module section :          For each procedure :
  160.  
  161.             - Name and type                       - Name and type
  162.             - Name of the module (file)           - Description
  163.             - Language used                       - Parameters
  164.             - Source of the program               - All the variables used
  165.             - Description                         - Module level declarations
  166.             - Requirements                            - CONST statements
  167.             - Command line parameters                 - TYPE structures
  168.             - Files listed in .MAK file               - DECLARE FUNCTION
  169.             - All the variables used                  - DECLARE SUB
  170.  
  171.      COMMENTS doesn't modify your listing in any way. Everything that is added
  172.      to your listing by COMMENTS is written inside a box that is added at the
  173.      very beginning of the file or over the first line of a procedure (SUB or
  174.      FUNCTION).
  175.  
  176.      COMMENTS will adjust automatically for color or monochrome monitors.
  177.  
  178.  
  179.  
  180.  
  181.  
  182.  
  183.  
  184.  
  185.  
  186.  
  187.  
  188.  
  189.  
  190.  
  191.  
  192.  
  193.  
  194.      COMMENTS v.1.2 - by LAMCO Software                                  Page 3
  195.  
  196.  
  197.  
  198.  
  199.  
  200.  
  201.  
  202.  
  203.      ┌┬──────────────────────────────────────────────────────────────────────┬┐
  204.      ││  2 - What is added to the module level of your listing               ││
  205.      └┴──────────────────────────────────────────────────────────────────────┴┘
  206.  
  207.      There is one box for each kind of information that COMMENTS can gather
  208.      from your listing. The boxes added to the module level will be :
  209.  
  210.         2.1 - The MAIN box that will contain the Name, Type, Module name,
  211.               Language, and Source of your listing.
  212.  
  213.         2.2 - The DESCRIPTION box contains the description of your program. You
  214.               must of course type in that description.
  215.  
  216.         2.3 - The REQUIREMENTS box. This box will list all that is required by
  217.               your program to work properly, that may be for example a CGA or
  218.               VGA monitor, or a special Quick Library, or a particular version
  219.               of DOS. Anything that is required by your program should be
  220.               listed here.
  221.  
  222.         2.4 - The .MAK file box. If you use a .MAK file with your program, the
  223.               files listed in that .MAK file will be listed in that box.
  224.  
  225.         2.5 - The COMMAND LINE PARAMETERS box. If when compiled your program
  226.               requires or allows command line parameters, COMMENTS will prompt
  227.               you to type in the different parameters that are allowed along
  228.               with a short description. You should also write a line describing
  229.               the syntax of the command. Everything you will type in when
  230.               prompted will be enclosed in this box.
  231.  
  232.         2.6 - The VARIABLES box. This box will contain a list of all the
  233.               different variables and arrays that are used in the module level
  234.               of your program. Each variable and array is listed on a separate
  235.               line so the next time you load your listing in the QuickBASIC
  236.               editing environment, you may add a short description for each of
  237.               these variables and arrays.
  238.  
  239.  
  240.  
  241.  
  242.  
  243.  
  244.  
  245.  
  246.  
  247.  
  248.  
  249.  
  250.  
  251.  
  252.  
  253.  
  254.  
  255.  
  256.  
  257.  
  258.  
  259.  
  260.      COMMENTS v.1.2 - by LAMCO Software                                  Page 4
  261.  
  262.  
  263.  
  264.  
  265.  
  266.  
  267.  
  268.  
  269.      ┌┬──────────────────────────────────────────────────────────────────────┬┐
  270.      ││  3 - What is added to each procedure of your listing                 ││
  271.      └┴──────────────────────────────────────────────────────────────────────┴┘
  272.  
  273.         3.1 - The NAME box which tells the name of the procedure and whether it
  274.               is a subprogram or a function.
  275.  
  276.         3.2 - The DESCRIPTION box contains the description of the procedure.
  277.               COMMENTS prompts you to type it in whenever a new procedure is
  278.               analyzed.
  279.  
  280.         3.3 - The PARAMETERS box. If any variables, arrays, or TYPE structures
  281.               are passed to a procedure through parameters, COMMENTS will
  282.               identify them and list them in this box, one to a line, so you
  283.               may later add a description to each of them.
  284.  
  285.         3.4 - The VARIABLES box. Same as in the module level section but
  286.               contains, of course, only the variables and arrays used within
  287.               the concerned procedure.
  288.  
  289.         3.5 - Finally, the MODULE LEVEL DECLARATIONS box. This box contains
  290.               each declaration that must be made in the module level section of
  291.               your listing for the concerned procedure to work properly, except
  292.               for DIM statements.
  293.  
  294.      This means that if a TYPE structure is used in the procedure, the TYPE
  295.      declaration that is required in the module level will be written in that
  296.      box. If a constant is used, a CONST declaration will be written. And a
  297.      DECLARE SUB or DECLARE FUNCTION declaration will be written in that box
  298.      for each procedure that is called from within the procedure.
  299.  
  300.      If you should eventually copy the procedure to another of your listings,
  301.      you can find out immediately by looking at this box what are the
  302.      declarations that you must add to the module level of this new listing for
  303.      that procedure to work properly. As for the DIM statements, look in the
  304.      PARAMETERS and VARIABLES boxes to find the arrays used, and then add the
  305.      propper DIM statements in the module level or REDIM statements in the
  306.      procedure itself.
  307.  
  308.      Note :   All these boxes are added to your listing, whether they are
  309.      required or not. For example, if you do not use any variables in a given
  310.      procedure, the VARIABLES box for that procedure will contain a single line
  311.      saying "(none)". You may remove these unnecessary boxes if you wish, but
  312.      they may be useful since looking at the beginning of a procedure tells you
  313.      immediately what is in there and what is not.
  314.  
  315.  
  316.  
  317.  
  318.  
  319.  
  320.  
  321.  
  322.  
  323.  
  324.  
  325.  
  326.      COMMENTS v.1.2 - by LAMCO Software                                  Page 5
  327.  
  328.  
  329.  
  330.  
  331.  
  332.  
  333.  
  334.  
  335.      ┌┬──────────────────────────────────────────────────────────────────────┬┐
  336.      ││  4 - Requirements                                                    ││
  337.      └┴──────────────────────────────────────────────────────────────────────┴┘
  338.  
  339.      In order for COMMENTS to work properly, your listings must be written in a
  340.      certain way, but as you'll see, you probably already follow most of these
  341.      conventions.
  342.  
  343.         4.1 - The last line of the module level of your listing must be an
  344.               "END" statement alone on one line. If you use more than one "END"
  345.               statement, replace all of them except the last one by "SYSTEM",
  346.               or use another QuickBASIC statement on the same line.
  347.  
  348.               For example, if you make a test that uses an "END" statement, as
  349.               in the following case,
  350.  
  351.                 IF Level% = 5 THEN
  352.                   END
  353.                 ELSE
  354.                   Level% = Level% + 1
  355.                 END IF
  356.  
  357.               You can write the same test in any of the following ways :
  358.  
  359.             4.1.1 -   IF Level% = 5 THEN END ELSE Level% = Level% + 1
  360.  
  361.             4.1.2 -   IF Level% = 5 THEN
  362.                         CLS : END
  363.                       ELSE
  364.                         Level% = Level% + 1
  365.                       END IF
  366.  
  367.             4.1.3 -   IF Level% = 5 THEN             Note : CLS has no effect
  368.                         END : CLS                           since the program
  369.                       ELSE                                  will end before
  370.                         Level% = Level% + 1                 reaching it
  371.                       END IF
  372.  
  373.               The trick is simply not to write any "END" statement that is not
  374.               the last one alone on one line, and whatever is on that line must
  375.               not be a remark or a string within doublequotes.
  376.  
  377.         4.2 - All Variables, Arrays, Constants, TYPE Structures, Subprogram
  378.               names, Function names, and Parameters as well as COMMAND LINE
  379.               Parameters, if any, must contain at least one lowercase letter.
  380.  
  381.               COMMENTS compares each string in your listing with its uppercase
  382.               equivalent. This goes much faster than comparing it against every
  383.               QuickBASIC reserved word, but requires the use of lowercase
  384.               letters.
  385.  
  386.  
  387.  
  388.  
  389.  
  390.  
  391.  
  392.      COMMENTS v.1.2 - by LAMCO Software                                  Page 6
  393.  
  394.  
  395.  
  396.  
  397.  
  398.  
  399.  
  400.  
  401.         4.3 - If you use TYPE statements, do not write comment lines between
  402.               the TYPE and the END TYPE lines.
  403.  
  404.               The following example will generate an error condition :
  405.  
  406.                 TYPE SortType
  407.                   Length AS INTEGER         ' Bar length (the element compared
  408.                                             ' in the different sorts)
  409.                   ColorVal AS INTEGER       ' Bar color
  410.                   BarString AS STRING * 43  ' The bar (string of 43 characters)
  411.                 END TYPE
  412.  
  413.               Rather write this example in the following way :
  414.  
  415.                 TYPE SortType
  416.                   Length AS INTEGER         ' Bar length (the element compared
  417.                   ColorVal AS INTEGER       ' Bar color     in the diff. sorts)
  418.                   BarString AS STRING * 43  ' The bar (string of 43 characters)
  419.                 END TYPE
  420.  
  421.               Or write the comments before or after the TYPE declaration :
  422.  
  423.                 TYPE SortType
  424.                   Length AS INTEGER
  425.                   ColorVal AS INTEGER
  426.                   BarString AS STRING * 43
  427.                 END TYPE
  428.                 ' Length is the Bar legth (the element compared in the
  429.                 ' different sorts)
  430.                 ' ColorVal is the Bar color
  431.                 ' BarString is the Bar (string of 43 chrracters)
  432.  
  433.         4.4 - If you use labels before DATA statements at the beginning of the
  434.               module level part of your program, you should write them all in
  435.               uppercase. Otherwise, COMMENTS will list them as variables.
  436.  
  437.      On the other hand, if you use labels after the "END" statement in
  438.      error-handling routines, you must slightly modify your listing in the
  439.      following way :
  440.  
  441.         DO NOT write an "END" statement before the error-handling routines, but
  442.         DO write one after the routines. Then run COMMENTS. Afterwards, load
  443.         your program into QuickBASIC, remove the "END" statement that is after
  444.         the error-handling routines and add an "END" statement before the
  445.         routines.
  446.  
  447.         If you don't modify your program in this way, COMMENTS will either
  448.         generate an error message and terminate or it won't copy the
  449.         error-handling routines in the new version of your listing.
  450.  
  451.      As for everything else, you may write your program in any way that is
  452.      acceptable to QuickBASIC.
  453.  
  454.  
  455.  
  456.  
  457.  
  458.      COMMENTS v.1.2 - by LAMCO Software                                  Page 7
  459.  
  460.  
  461.  
  462.  
  463.  
  464.  
  465.  
  466.  
  467.      ┌┬──────────────────────────────────────────────────────────────────────┬┐
  468.      ││  5 - How COMMENTS works                                              ││
  469.      └┴──────────────────────────────────────────────────────────────────────┴┘
  470.  
  471.      COMMENTS opens the file you have selected and then reads each line one by
  472.      one. Each time a line is read, it is copied to a backup file. Then remarks
  473.      and strings within doublequotes are removed from that line. All characters
  474.      that are not numbers or letters are removed and each string left is then
  475.      analyzed.
  476.  
  477.      Statements such as CONST or DIM tell COMMENTS what the following strings
  478.      are. Every important string found is stored in memory and when the whole
  479.      file as been read and backed up, the original file is closed and reopened.
  480.  
  481.      The file is then read again, only this time each line is copied to a
  482.      temporary file with the same name as your listing but with a .TMP
  483.      extension. As the file is read again, each string found that does not
  484.      match its uppercase equivalent is compared to the strings in memory and
  485.      stored according to what it is. This is why it is important that each
  486.      variable, SubProgram name, and so forth, contains at least one lowercase
  487.      letter. The other way around would have been to compare each string found
  488.      with every QuickBASIC reserved word, which would take much more time.
  489.  
  490.      Once the end of the module level is reached, the .TMP file is closed and a
  491.      new file with a .NEW extension is opened. All the module level boxes
  492.      containing the appropriate information are written to this file and the
  493.      .TMP file that now contains the module level part of your original listing
  494.      without any modification is then copied to the .NEW file.
  495.  
  496.      The temporary file is then deleted and a new temporary file is opened.
  497.      COMMENTS then reads the lines of the original file until the beginning of
  498.      the first procedure. Then each new line read is copied to the temporary
  499.      file while the listing is again analyzed.
  500.  
  501.      Once the end of the first procedure is reached, the appropriate
  502.      information and the temporary file are added to the .NEW file and this
  503.      process is repeated until the whole listing has been analyzed.
  504.  
  505.      Note : Anything that you write in your listing after the "END" statement
  506.      or above the "SUB" or "FUNCTION" statement in any procedure won't be
  507.      copied to the temporary file and therefore will not appear in the final
  508.      file. This allows you to write temporary remarks that you don't want in
  509.      the final version of your program. This is also the reason why you should
  510.      merge or copy any 'INCLUDE$ file after the "END" statement of the module
  511.      level.
  512.  
  513.  
  514.  
  515.  
  516.  
  517.  
  518.  
  519.  
  520.  
  521.  
  522.  
  523.  
  524.      COMMENTS v.1.2 - by LAMCO Software                                  Page 8
  525.  
  526.  
  527.  
  528.  
  529.  
  530.  
  531.  
  532.  
  533.      ┌┬──────────────────────────────────────────────────────────────────────┬┐
  534.      ││  6 - About '$INCLUDE files and .MAK files                            ││
  535.      └┴──────────────────────────────────────────────────────────────────────┴┘
  536.  
  537.      COMMENTS is intended to be used with programs that use a single module.
  538.      You can, however, use it with programs that use an '$INCLUDE file or with
  539.      programs that use more than one module.
  540.  
  541.      -  If your listing requires an '$INCLUDE file, merge or copy it in your
  542.         original listing after the "END" statement of the module level before
  543.         saving your listing.
  544.  
  545.         The merged '$INCLUDE file will not appear in the new version of your
  546.         listing if you have merged it after the "END" statement. On the other
  547.         hand, if you do not merge it, COMMENTS won't be able to identify the
  548.         Constants, TYPE structures, and procedures. Therefore, everything will
  549.         be listed as variables.
  550.  
  551.      -  If you use more than one module, process them one by one. If you use an
  552.         '$INCLUDE file, merge it in each module.
  553.  
  554.  
  555.      ┌┬──────────────────────────────────────────────────────────────────────┬┐
  556.      ││  7 - How to use COMMENTS                                             ││
  557.      └┴──────────────────────────────────────────────────────────────────────┴┘
  558.  
  559.      Write your program as you would usually do, but make sure you follow the
  560.      requirements stated earlier in this document.
  561.  
  562.      Don't write any remark you want to be in your program after the "END"
  563.      statement of the module level or above the "SUB " or "FUNCTION" statement
  564.      of any procedure.
  565.  
  566.      Once your program is completed, save it in ASCII format and exit
  567.      QuickBASIC.
  568.  
  569.      Then call COMMENTS from the directory where your program is. If COMMENTS
  570.      is in a subdirectory that appears in the PATH statement of your
  571.      AUTOEXEC.BAT file, simply type COMMENTS on the command line and press
  572.      [ENTER], otherwise, also type the path to the subdirectory where COMMENTS
  573.      is.
  574.  
  575.      Select your program from the list of files that appear on screen and
  576.      answer each question as you are prompted.
  577.  
  578.  
  579.  
  580.  
  581.  
  582.  
  583.  
  584.  
  585.  
  586.  
  587.  
  588.  
  589.  
  590.      COMMENTS v.1.2 - by LAMCO Software                                  Page 9
  591.  
  592.  
  593.  
  594.  
  595.  
  596.  
  597.  
  598.  
  599.      ┌┬──────────────────────────────────────────────────────────────────────┬┐
  600.      ││  8 - How to use COMMENTS - Systems without a hard drive              ││
  601.      └┴──────────────────────────────────────────────────────────────────────┴┘
  602.  
  603.      Here's how to use COMMENTS if your system does not have a hard drive.
  604.  
  605.      Copy the file COMMENTS.EXE (the actual program file) to one diskette and
  606.      copy your listing to a second diskette. If your listing uses a .MAK file,
  607.      copy it also to this second diskette.
  608.  
  609.      Insert the diskette that contains your listing in drive A: and insert the
  610.      diskette that contains COMMENTS in drive B:. Then type A: and press
  611.      [ENTER] to make sure your current drive is drive A:.
  612.  
  613.      Now call COMMENTS from the A: prompt by typing the following command :
  614.  
  615.             A:>B:COMMENTS
  616.  
  617.      All temporary files as well as the new files created by COMMENTS will be
  618.      on the diskette that contains your listing.
  619.  
  620.      It is unlikely that you will run into any problem. But if your listing is
  621.      huge, it is possible that you run out of disk space while COMMENTS writes
  622.      the temporary files or even while making the backup copy of the original
  623.      listing.
  624.  
  625.      To prevent this, you may add the following switch when calling COMMENTS :
  626.  
  627.          A>B:COMMENTS /F    or     A>B:COMMENTS /f
  628.  
  629.      Note : If you use this switch, COMMENTS will NOT make a copy of the
  630.             original listing, therefore leaving more space on the diskette. Be
  631.             sure though, if you use this switch, that you have a copy of your
  632.             original listing on a different diskette.
  633.  
  634.  
  635.  
  636.  
  637.  
  638.  
  639.  
  640.  
  641.  
  642.  
  643.  
  644.  
  645.  
  646.  
  647.  
  648.  
  649.  
  650.  
  651.  
  652.  
  653.  
  654.  
  655.  
  656.      COMMENTS v.1.2 - by LAMCO Software                                 Page 10
  657.  
  658.  
  659.  
  660.  
  661.  
  662.  
  663.  
  664.  
  665.      ┌┬──────────────────────────────────────────────────────────────────────┬┐
  666.      ││  9 - How to use COMMENTS - Answering prompts                         ││
  667.      └┴──────────────────────────────────────────────────────────────────────┴┘
  668.  
  669.      ╔════════════════════════════════════════════════════════════════════════╗
  670.      ║ COMMENTS - Version 1.2                    (c) 1991 - by LAMCO Software ║
  671.      ╚════════════════════════════════════════════════════════════════════════╝
  672.      ╔══════════════╗ ╔═══════════════════════════════════════════════════════╗
  673.      ║ ATTRIB  .BAS ║ ║                                                       ║
  674.      ║ BIN2HEX .BAS ║ ║          QuickBASIC comments adding utility           ║
  675.      ║ BIOSCALL.BAS ║ ║                                                       ║
  676.      ║ BITS    .BAS ║ ║    Available to you through the Shareware concept     ║
  677.      ║ BOXES   .BAS ║ ║                                                       ║
  678.      ║ CALENDAR.BAS ║ ║      Please read the accompanying documentation       ║
  679.      ║ DOLLARS .BAS ║ ║                                                       ║
  680.      ║ DOSCALLS.BAS ║ ╚═══════════════════════════════════════════════════════╝
  681.      ║ EDIT    .BAS ║ ╔═══════════════════════════════════════════════════════╗
  682.      ║ ERROR   .BAS ║ ║                                                       ║
  683.      ║ FILEINFO.BAS ║ ║        Reading directory  -  Please wait ...          ║
  684.      ║ GCURSOR .BAS ║ ║                                                       ║
  685.      ║ HEX2BIN .BAS ║ ║      Please choose the file to add comments to.       ║
  686.      ║ KEYS    .BAS ║ ║                                                       ║
  687.      ║ MOUSSUBS.BAS ║ ║    [HOME] [END] [PgUp] [PgDn] [Up and Down arrows]    ║
  688.      ║ NEWBOXES.BAS ║ ║                                                       ║
  689.      ║ PARSE   .BAS ║ ║          [ENTER] to select - [ESC] to quit            ║
  690.      ║ STRINGS .BAS ║ ║                                                       ║
  691.      ╚══════════════╝ ╚═══════════════════════════════════════════════════════╝
  692.  
  693.      Shown above is what appears on screen when COMMENTS is loaded. Only the
  694.      files with a .BAS extension in the current directory will be listed and
  695.      the first one will be highlighted.
  696.  
  697.      If there are no .BAS files in the current directory, COMMENTS will display
  698.      an error message and exit.
  699.  
  700.      If there are more than 18 files with a .BAS extension in the current
  701.      directory, use the cursor keys ([HOME], [END], [PGUP], [PGDN], [UP], or
  702.      [DOWN]) to display the other .BAS files in the current directory.
  703.  
  704.      Once the listing you want to process is highlighted, press [ENTER].
  705.  
  706.      You may exit COMMENTS at this point by pressing [ESC].
  707.  
  708.      For example purposes, let's select BOXES.BAS and walk through COMMENTS to
  709.      show you how it works. Note that for your convenience, both versions of
  710.      BOXES.BAS are included with COMMENTS. This listing is not copyrighted and
  711.      you are free to use it in your listings. BOXES.BAS is a toolbox that was
  712.      written to draw different kinds of boxes on screen in different listings.
  713.      BOXES.BAK is the original listing while BOXES.BAS is the new file written
  714.      by COMMENTS. The descriptions that appear in the PARAMETERS and VARIABLES
  715.      boxes were added after, not by COMMENTS.
  716.  
  717.  
  718.  
  719.  
  720.  
  721.  
  722.      COMMENTS v.1.2 - by LAMCO Software                                 Page 11
  723.  
  724.  
  725.  
  726.  
  727.  
  728.  
  729.  
  730.  
  731.      Once you have highlighted BOXES.BAS and pressed [ENTER], the following
  732.      screen will appear :
  733.  
  734.      ╔════════════════════════════════════════════════════════════════════════╗
  735.      ║ COMMENTS - Version 1.2                    (c) 1991 - by LAMCO Software ║
  736.      ╚════════════════════════════════════════════════════════════════════════╝
  737.      ╔═════════════════════════════╗  ╔═══════════════════════════════════════╗
  738.      ║ Making backup copy of       ║  ║ Number of declared SubPrograms :    7 ║
  739.      ║                             ║  ║                                       ║
  740.      ║     BOXES.BAS               ║  ║ Number of declared Functions   :    0 ║
  741.      ║                             ║  ║                                       ║
  742.      ║         while reading it.   ║  ║ Number of CONST statements     :    0 ║
  743.      ║                             ║  ║                                       ║
  744.      ║ Backup filename is          ║  ║ Number of TYPE structures      :    0 ║
  745.      ║                             ║  ║                                       ║
  746.      ║     BOXES.BAK               ║  ║ Number of SubPrograms found    :    7 ║
  747.      ║                             ║  ║                                       ║
  748.      ║         Please wait ...     ║  ║ Number of Functions found      :    0 ║
  749.      ║                             ║  ║                                       ║
  750.      ║                             ║  ║ Command line parameters ?      :   No ║
  751.      ║                             ║  ║                                       ║
  752.      ║                             ║  ║ .MAK file required ?           :   No ║
  753.      ║                             ║  ║                                       ║
  754.      ║                             ║  ║                                       ║
  755.      ║                             ║  ║                                       ║
  756.      ╚═════════════════════════════╝  ╚═══════════════════════════════════════╝
  757.  
  758.      At the beginning, all numbers are set to 0 and the "Command line
  759.      parameters ?" and ".MAK file required ?" lines are not displayed. Each
  760.      time an important information is found, the corresponding number is
  761.      updated and when the whole file has been analyzed, the "Command line
  762.      parameters ?" and ".MAK file required ?" lines will be printed with the
  763.      appropriate "Yes" or "No".
  764.  
  765.      You will then be prompted to press a key to continue.
  766.  
  767.  
  768.  
  769.  
  770.  
  771.  
  772.  
  773.  
  774.  
  775.  
  776.  
  777.  
  778.  
  779.  
  780.  
  781.  
  782.  
  783.  
  784.  
  785.  
  786.  
  787.  
  788.      COMMENTS v.1.2 - by LAMCO Software                                 Page 12
  789.  
  790.  
  791.  
  792.  
  793.  
  794.  
  795.  
  796.  
  797.      ╔════════════════════════════════════════════════════════════════════════╗
  798.      ║ COMMENTS - Version 1.2                    (c) 1991 - by LAMCO Software ║
  799.      ╚════════════════════════════════════════════════════════════════════════╝
  800.      ╔════════════════════════════════════════════════════════════════════════╗
  801.      ║ Enter name of program :                                                ║
  802.      ║                                                                        ║
  803.      ║   ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░  ║
  804.      ║                                                                        ║
  805.      ║                                                                        ║
  806.      ║                                                                        ║
  807.      ║                                                                        ║
  808.      ║                                                                        ║
  809.      ║                                                                        ║
  810.      ║                                                                        ║
  811.      ║                                                                        ║
  812.      ║                                                                        ║
  813.      ║                                                                        ║
  814.      ║                                                                        ║
  815.      ║                                                                        ║
  816.      ║                                                                        ║
  817.      ║                                                                        ║
  818.      ║                                                                        ║
  819.      ╚════════════════════════════════════════════════════════════════════════╝
  820.  
  821.      The above screen will then appear, with COMMENTS prompting you to enter
  822.      the name of your program.
  823.  
  824.      Type the name of your listing in the highlighted box.
  825.  
  826.      Until you press [ENTER], [Up Arrow], or [Down Arrow], COMMENTS gives you
  827.      WordStar-like editing capabilities. That is, you can use [INS] to toggle
  828.      overwrite mode on and off, [HOME], [END], to move the cursor to the
  829.      beginning or the end of the line, Ctrl-Left or Ctrl-Right to move the
  830.      cursor to the previous or next word, Ctrl-Q to erase the whole line, or
  831.      Ctrl-Q and then Y to erase the end of the line from the cursor position.
  832.  
  833.  
  834.  
  835.  
  836.  
  837.  
  838.  
  839.  
  840.  
  841.  
  842.  
  843.  
  844.  
  845.  
  846.  
  847.  
  848.  
  849.  
  850.  
  851.  
  852.  
  853.  
  854.      COMMENTS v.1.2 - by LAMCO Software                                 Page 13
  855.  
  856.  
  857.  
  858.  
  859.  
  860.  
  861.  
  862.  
  863.      ╔════════════════════════════════════════════════════════════════════════╗
  864.      ║ COMMENTS - Version 1.2                    (c) 1991 - by LAMCO Software ║
  865.      ╚════════════════════════════════════════════════════════════════════════╝
  866.      ╔════════════════════════════════════════════════════════════════════════╗
  867.      ║ Enter name of program :                                                ║
  868.      ║                                                                        ║
  869.      ║    BOXES                                                               ║
  870.      ║                                                                        ║
  871.      ║                                                                        ║
  872.      ║ Select the Type of the program                      ╔═════════════╗    ║
  873.      ║                                                     ║ Application ║    ║
  874.      ║   [Up and Down arrows] - Move cursor                ║ Utility     ║    ║
  875.      ║                                                     ║ Toolbox     ║    ║
  876.      ║                [ENTER] - Select                     ║ Demo        ║    ║
  877.      ║                                                     ║ Game        ║    ║
  878.      ║   Enter type : ░░░░░░░░░░░░░░░░░░░░░░░              ║ Other       ║    ║
  879.      ║                                                     ╚═════════════╝    ║
  880.      ║                                                                        ║
  881.      ║                                                                        ║
  882.      ║                                                                        ║
  883.      ║                                                                        ║
  884.      ║                                                                        ║
  885.      ╚════════════════════════════════════════════════════════════════════════╝
  886.  
  887.      Once you have pressed [ENTER], [Up Arrow], or [Down Arrow], the screen
  888.      will be modified in the way shown above except for the "Enter type :" line
  889.      and highlighted box. This appears only if you select "Other".
  890.  
  891.      You can now select the type of your program by highlighting the
  892.      appropriate description, using the [Up] or [Down] arrow. If the type of
  893.      your program does not appear in the list, select "Other".
  894.  
  895.      If you do select "Other", you again have access to WordStar-like editing
  896.      capabilities until you press [ENTER], [Up Arrow], or [Down Arrow].
  897.  
  898.  
  899.  
  900.  
  901.  
  902.  
  903.  
  904.  
  905.  
  906.  
  907.  
  908.  
  909.  
  910.  
  911.  
  912.  
  913.  
  914.  
  915.  
  916.  
  917.  
  918.  
  919.  
  920.      COMMENTS v.1.2 - by LAMCO Software                                 Page 14
  921.  
  922.  
  923.  
  924.  
  925.  
  926.  
  927.  
  928.  
  929.      ╔════════════════════════════════════════════════════════════════════════╗
  930.      ║ COMMENTS - Version 1.2                    (c) 1991 - by LAMCO Software ║
  931.      ╚════════════════════════════════════════════════════════════════════════╝
  932.      ╔════════════════════════════════════════════════════════════════════════╗
  933.      ║ Enter name of program :                                                ║
  934.      ║                                                                        ║
  935.      ║    BOXES                                                               ║
  936.      ║                                                                        ║
  937.      ║                                                                        ║
  938.      ║ Select the Type of the program                      ╔═════════════╗    ║
  939.      ║                                                     ║ Application ║    ║
  940.      ║   [Up and Down arrows] - Move cursor                ║ Utility     ║    ║
  941.      ║                                                     ║ Toolbox     ║    ║
  942.      ║                [ENTER] - Select                     ║ Demo        ║    ║
  943.      ║                                                     ║ Game        ║    ║
  944.      ║                                                     ║ Other       ║    ║
  945.      ║                                                     ╚═════════════╝    ║
  946.      ║                                                                        ║
  947.      ║ Enter source of program :                                              ║
  948.      ║                                                                        ║
  949.      ║   ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░  ║
  950.      ║                                                                        ║
  951.      ╚════════════════════════════════════════════════════════════════════════╝
  952.  
  953.      The next step is to type in the source of your program. In most cases, it
  954.      is your name that you will type there but if the listing comes from a
  955.      magazine or a book, or any other source, write the reference here.
  956.  
  957.      Remember the WordStar-like editing capabilities. They apply here as well.
  958.  
  959.  
  960.  
  961.  
  962.  
  963.  
  964.  
  965.  
  966.  
  967.  
  968.  
  969.  
  970.  
  971.  
  972.  
  973.  
  974.  
  975.  
  976.  
  977.  
  978.  
  979.  
  980.  
  981.  
  982.  
  983.  
  984.  
  985.  
  986.      COMMENTS v.1.2 - by LAMCO Software                                 Page 15
  987.  
  988.  
  989.  
  990.  
  991.  
  992.  
  993.  
  994.  
  995.      ╔════════════════════════════════════════════════════════════════════════╗
  996.      ║ COMMENTS - Version 1.2                    (c) 1991 - by LAMCO Software ║
  997.      ╚════════════════════════════════════════════════════════════════════════╝
  998.      ╔════════════════════════════════════════════════════════════════════════╗
  999.      ║                      Enter description of program                      ║
  1000.      ║                                                                        ║
  1001.      ║                                                                        ║
  1002.      ║  ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░  ║
  1003.      ║  ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░  ║
  1004.      ║  ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░  ║
  1005.      ║  ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░  ║
  1006.      ║  ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░  ║
  1007.      ║  ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░  ║
  1008.      ║  ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░  ║
  1009.      ║  ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░  ║
  1010.      ║  ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░  ║
  1011.      ║  ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░  ║
  1012.      ║  ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░  ║
  1013.      ║  ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░  ║
  1014.      ║  ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░  ║
  1015.      ║  ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░  ║
  1016.      ║                                                                        ║
  1017.      ╚════════════════════════════════════════════════════════════════════════╝
  1018.  
  1019.      Once you have entered the source of your listing, COMMENTS will prompt you
  1020.      for its description. The above screen will appear and you will again have
  1021.      access to editing capabilities.
  1022.  
  1023.      In this case, though, [ENTER], [Up Arrow], and [Down Arrow] move the
  1024.      cursor up or down one line. You must press [ESC] to exit from this
  1025.      highlighted box. Don't worry about exceeding the length of the lines,
  1026.      COMMENTS provides wrap-around capabilities.
  1027.  
  1028.      Note, however, that when you exit this box, COMMENTS will concatenate
  1029.      everything you have written into one line and will then break that line in
  1030.      as many lines as required to fit the text into the comment box that will
  1031.      be added to your listing, removing any double spaces in the process.
  1032.      Therefore, you may not include blank lines within the box while using
  1033.      COMMENTS, but you may do so when you later load the new version of your
  1034.      listing in QuickBASIC.
  1035.  
  1036.      If you want to see what the text will look like in its final version, move
  1037.      the cursor to the upper left corner of the highlighted box and press the
  1038.      [BACKSPACE] key.
  1039.  
  1040.  
  1041.  
  1042.  
  1043.  
  1044.  
  1045.  
  1046.  
  1047.  
  1048.  
  1049.  
  1050.  
  1051.  
  1052.      COMMENTS v.1.2 - by LAMCO Software                                 Page 16
  1053.  
  1054.  
  1055.  
  1056.  
  1057.  
  1058.  
  1059.  
  1060.  
  1061.      ╔════════════════════════════════════════════════════════════════════════╗
  1062.      ║ COMMENTS - Version 1.2                    (c) 1991 - by LAMCO Software ║
  1063.      ╚════════════════════════════════════════════════════════════════════════╝
  1064.      ╔══════════════════════════════════════════════╗ ╔═══════════════════════╗
  1065.      ║ Select the Requirements of the program       ║ ║   (none)              ║
  1066.      ║                                              ║ ║   DOS 2.x             ║
  1067.      ║   [Up and Down arrows] - Move cursor         ║ ║   DOS 3.x             ║
  1068.      ║                                              ║ ║   DOS 4.x             ║
  1069.      ║                [ENTER] - Select/Unselect     ║ ║   CGA                 ║
  1070.      ║                                              ║ ║   EGA                 ║
  1071.      ║                  [ESC] - Exit                ║ ║   VGA or MCGA         ║
  1072.      ║                                              ║ ║   Mouse               ║
  1073.      ║                                              ║ ║   Mouse (optional)    ║
  1074.      ╚══════════════════════════════════════════════╝ ║   Modem               ║
  1075.      ╔══════════════════════════════════════════════╗ ║   Joystick            ║
  1076.      ║                                              ║ ║   Printer             ║
  1077.      ║                                              ║ ║   Other               ║
  1078.      ║                                              ║ ║   Other               ║
  1079.      ║                                              ║ ║   Other               ║
  1080.      ║                                              ║ ║   Other               ║
  1081.      ║                                              ║ ║   Other               ║
  1082.      ║                                              ║ ║   Other               ║
  1083.      ╚══════════════════════════════════════════════╝ ╚═══════════════════════╝
  1084.  
  1085.      There are still two more things that only you can tell COMMENTS, the
  1086.      requirements of your program and the language you used to write it. But
  1087.      both are simple to do.
  1088.  
  1089.      Shown above is the screen that prompts you for the requirements of your
  1090.      program. Use the [Up] and [Down] arrows to select each of the requirements
  1091.      that apply to your program. When all the requirements have been selected,
  1092.      press [ESC] to exit.
  1093.  
  1094.      Every time you press [ENTER], the current selection that is highlighted
  1095.      will be marked. You remove a mark by pressing [ENTER] while highlighting a
  1096.      selection that is already marked. When you press [ESC], all requirements
  1097.      marked will be included in the requirements box added to your listing.
  1098.  
  1099.      If you need a requirement that is not written as an available selection,
  1100.      select any of the "Other" lines. COMMENTS will prompt you to type that
  1101.      requirement. Again, you have access to editing capabilities until you
  1102.      press [ENTER], [Up], or [Down] arrow. Should you notice too late that
  1103.      you've made a typing mistake, highlight the requirement line that contains
  1104.      the misspelled word, unselect it by pressing [ENTER], highlight another
  1105.      "Other" line, and type a new line.
  1106.  
  1107.      The "Other" lines are provided so you can add such remarks as '$INCLUDE
  1108.      files, special libraries, or anything else that is required by your
  1109.      program to work properly.
  1110.  
  1111.  
  1112.  
  1113.  
  1114.  
  1115.  
  1116.  
  1117.  
  1118.      COMMENTS v.1.2 - by LAMCO Software                                 Page 17
  1119.  
  1120.  
  1121.  
  1122.  
  1123.  
  1124.  
  1125.  
  1126.  
  1127.      Now, the language you used to write your program. Use the [Up] and [Down]
  1128.      arrows to highlight the version of QuickBASIC that you used or select
  1129.      "Other" if you used another BASIC language and press [ENTER].
  1130.  
  1131.      ╔════════════════════════════════════════════════════════════════════════╗
  1132.      ║ COMMENTS - Version 1.2                    (c) 1991 - by LAMCO Software ║
  1133.      ╚════════════════════════════════════════════════════════════════════════╝
  1134.      ╔══════════════════════════════════════════════╗ ╔═══════════════════════╗
  1135.      ║ Select the Requirements of the program       ║ ║   (none)              ║
  1136.      ║                                              ║ ║   DOS 2.x             ║
  1137.      ║   [Up and Down arrows] - Move cursor         ║ ║   DOS 3.x             ║
  1138.      ║                                              ║ ║   DOS 4.x             ║
  1139.      ║                [ENTER] - Select/Unselect     ║ ║ √ CGA                 ║
  1140.      ║                                              ║ ║   EGA                 ║
  1141.      ║                  [ESC] - Exit                ║ ║   VGA or MCGA         ║
  1142.      ║                                              ║ ║   Mouse               ║
  1143.      ║                                              ║ ║   Mouse (optional)    ║
  1144.      ╚══════════════════════════════════════════════╝ ║   Modem               ║
  1145.      ╔══════════════════════════════════════════════╗ ║   Joystick            ║
  1146.      ║ Select language used in the program          ║ ║   Printer             ║
  1147.      ║                                              ║ ║   Other               ║
  1148.      ║              QuickBASIC V. 4.0               ║ ║   Other               ║
  1149.      ║              QuickBASIC V. 4.5               ║ ║   Other               ║
  1150.      ║                    Other                     ║ ║   Other               ║
  1151.      ║                                              ║ ║   Other               ║
  1152.      ║                                              ║ ║   Other               ║
  1153.      ╚══════════════════════════════════════════════╝ ╚═══════════════════════╝
  1154.  
  1155.      If your program uses Command Line Parameters, another screen will be
  1156.      displayed and COMMENTS will prompt you to enter the appropriate
  1157.      information.
  1158.  
  1159.      To allow you to write each parameter on a different line, the editing
  1160.      capabilities inside this box are the same as when editing only one line.
  1161.  
  1162.      Each time you press [ENTER], [Up], or [Down] arrow, the cursor moves to
  1163.      the next line and you can no longer edit the previous line.
  1164.  
  1165.      To exit from that box, press [ENTER], [Up] or [Down] arrow on a blank
  1166.      line.
  1167.  
  1168.  
  1169.  
  1170.  
  1171.  
  1172.  
  1173.  
  1174.  
  1175.  
  1176.  
  1177.  
  1178.  
  1179.  
  1180.  
  1181.  
  1182.  
  1183.  
  1184.      COMMENTS v.1.2 - by LAMCO Software                                 Page 18
  1185.  
  1186.  
  1187.  
  1188.  
  1189.  
  1190.  
  1191.  
  1192.  
  1193.      ╔════════════════════════════════════════════════════════════════════════╗
  1194.      ║ COMMENTS - Version 1.2                    (c) 1991 - by LAMCO Software ║
  1195.      ╚════════════════════════════════════════════════════════════════════════╝
  1196.      ╔════════════════════════════════════════════════════════════════════════╗
  1197.      ║ Now processing : Module level                                          ║
  1198.      ║                                                                        ║
  1199.      ║ Variables found :    0                                Reading          ║
  1200.      ╚════════════════════════════════════════════════════════════════════════╝
  1201.      ╔════════════════════════════════════════════════════════════════════════╗
  1202.      ║                                                                        ║
  1203.      ║                                                                        ║
  1204.      ║                                                                        ║
  1205.      ║                                                                        ║
  1206.      ║                                                                        ║
  1207.      ║                                                                        ║
  1208.      ║                                                                        ║
  1209.      ║                                                                        ║
  1210.      ║                                                                        ║
  1211.      ║                                                                        ║
  1212.      ║                                                                        ║
  1213.      ║                                                                        ║
  1214.      ║                                                                        ║
  1215.      ╚════════════════════════════════════════════════════════════════════════╝
  1216.  
  1217.      Once all the necessary information has been entered, the next screen to
  1218.      appear will be as shown above.
  1219.  
  1220.      COMMENTS is now analyzing the module level section of the program. Each
  1221.      time a new variable (or array) is found, the appropriate number is
  1222.      displayed. When the "END" statement is reached, "Reading" is replaced by
  1223.      "Writing". COMMENTS then writes the appropriate boxes to the .NEW file and
  1224.      copies the temporary file after the boxes.
  1225.  
  1226.      Note : All the screens that are shown in this manual are actual screens
  1227.      that were saved when the original BOXES.BAS was processed through
  1228.      COMMENTS. If you rename BOXES.BAK and give it a .BAS extension, you can
  1229.      process that listing through COMMENTS and follow the screens as COMMENTS
  1230.      processes that newly named version of BOXES. You should print a copy of
  1231.      BOXES.BAK and BOXES.BAS before you do so. This will allow you to easily
  1232.      understand what is going on while COMMENTS is working, as well as provide
  1233.      you with the description you should type in when prompted.
  1234.  
  1235.  
  1236.  
  1237.  
  1238.  
  1239.  
  1240.  
  1241.  
  1242.  
  1243.  
  1244.  
  1245.  
  1246.  
  1247.  
  1248.  
  1249.  
  1250.      COMMENTS v.1.2 - by LAMCO Software                                 Page 19
  1251.  
  1252.  
  1253.  
  1254.  
  1255.  
  1256.  
  1257.  
  1258.  
  1259.      ╔════════════════════════════════════════════════════════════════════════╗
  1260.      ║ COMMENTS - Version 1.2                    (c) 1991 - by LAMCO Software ║
  1261.      ╚════════════════════════════════════════════════════════════════════════╝
  1262.      ╔════════════════════════════════════════════════════════════════════════╗
  1263.      ║ Now processing : SUBPROGRAM DoubleBorderBox                            ║
  1264.      ║                                                                        ║
  1265.      ║ Variables found :    1        Procedure # 1 of 7      Reading          ║
  1266.      ╚════════════════════════════════════════════════════════════════════════╝
  1267.      ╔════════════════════════════════════════════════════════════════════════╗
  1268.      ║                                                                        ║
  1269.      ║                                                                        ║
  1270.      ║                                                                        ║
  1271.      ║                                                                        ║
  1272.      ║                                                                        ║
  1273.      ║                                                                        ║
  1274.      ║                                                                        ║
  1275.      ║                                                                        ║
  1276.      ║                                                                        ║
  1277.      ║                                                                        ║
  1278.      ║                                                                        ║
  1279.      ║                                                                        ║
  1280.      ║                                                                        ║
  1281.      ╚════════════════════════════════════════════════════════════════════════╝
  1282.  
  1283.      COMMENTS then resumes reading the file and when it finds the first
  1284.      procedure, it will replace "Module level" by either "SUBPROGRAM" or
  1285.      "FUNCTION" and will display the name of the procedure it is reading. Again
  1286.      the number of variables found is shown. COMMENTS also tells how many
  1287.      procedures it will have to process and which is the one that is currently
  1288.      being read.
  1289.  
  1290.      When COMMENTS finds an "END SUB" or "END FUNCTION" statement, actually the
  1291.      end of the procedure it was reading, a message and a highlighted box will
  1292.      appear on screen and COMMENTS will prompt you for the description of that
  1293.      procedure. Once you've typed it, COMMENTS will resume its reading.
  1294.  
  1295.  
  1296.  
  1297.  
  1298.  
  1299.  
  1300.  
  1301.  
  1302.  
  1303.  
  1304.  
  1305.  
  1306.  
  1307.  
  1308.  
  1309.  
  1310.  
  1311.  
  1312.  
  1313.  
  1314.  
  1315.  
  1316.      COMMENTS v.1.2 - by LAMCO Software                                 Page 20
  1317.  
  1318.  
  1319.  
  1320.  
  1321.  
  1322.  
  1323.  
  1324.  
  1325.      ╔════════════════════════════════════════════════════════════════════════╗
  1326.      ║ COMMENTS - Version 1.2                    (c) 1991 - by LAMCO Software ║
  1327.      ╚════════════════════════════════════════════════════════════════════════╝
  1328.      ╔════════════════════════════════════════════════════════════════════════╗
  1329.      ║ Now processing : SUBPROGRAM DoubleBorderBox                            ║
  1330.      ║                                                                        ║
  1331.      ║ Variables found :    1        Procedure # 1 of 7              Writing  ║
  1332.      ╚════════════════════════════════════════════════════════════════════════╝
  1333.      ╔════════════════════════════════════════════════════════════════════════╗
  1334.      ║                     Enter description of procedure                     ║
  1335.      ║                                                                        ║
  1336.      ║  ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░  ║
  1337.      ║  ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░  ║
  1338.      ║  ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░  ║
  1339.      ║  ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░  ║
  1340.      ║  ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░  ║
  1341.      ║  ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░  ║
  1342.      ║  ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░  ║
  1343.      ║  ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░  ║
  1344.      ║  ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░  ║
  1345.      ║  ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░  ║
  1346.      ║                                                                        ║
  1347.      ╚════════════════════════════════════════════════════════════════════════╝
  1348.  
  1349.      When prompted to type the description of a procedure, the editing
  1350.      capabilities are the same as when entering the description of the program
  1351.      itself. Exit by pressing [ESC]. When the last procedure has been
  1352.      processed, the original .BAS file will be deleted (Remember that a copy
  1353.      with a .BAK extension was made when the file was read the first time) and
  1354.      the .NEW file is renamed with a .BAS extension.
  1355.  
  1356.      COMMENTS will then display a message telling that it is writting the
  1357.      structure file and when this is completed, it will display another message
  1358.      telling you that the processing of your listing is completed and prompting
  1359.      you to press a key to exit the program.
  1360.  
  1361.      When your computer is back to the command line, you should load
  1362.      QuickBASIC, call your program and then add remarks in the overstrike mode
  1363.      for each of the variables and parameters that COMMENTS has identified in
  1364.      your program.
  1365.  
  1366.      If you wish, you may merge the structure file to the main module of your
  1367.      program since each line begins with an apostrophe and the whole file is
  1368.      written in the same format as the other information that was added to your
  1369.      listing.
  1370.  
  1371.      Note that you can use COMMENTS before the final version of your program is
  1372.      completed. This might prove useful to find where there is a misspelled
  1373.      variable since both versions of that variable will be added to your
  1374.      listing in the variables list. Remember though that COMMENTS will write
  1375.      new boxes when you run it again on the new listing with a .BAS extension.
  1376.      If you use COMMENTS on a version of your program that is not the final
  1377.      one, delete the .BAS file after you've looked at it and rename the .BAK
  1378.      file with a .BAS extension so you use again your original listing.
  1379.  
  1380.  
  1381.  
  1382.      COMMENTS v.1.2 - by LAMCO Software                                 Page 21
  1383.  
  1384.  
  1385.  
  1386.  
  1387.  
  1388.  
  1389.  
  1390.  
  1391.      ┌┬──────────────────────────────────────────────────────────────────────┬┐
  1392.      ││  10 - COMMENTS Limitations                                           ││
  1393.      └┴──────────────────────────────────────────────────────────────────────┴┘
  1394.  
  1395.      COMMENTS will display an error message and terminate if your listing
  1396.      exceeds these limits :
  1397.  
  1398.              100 files with a .BAS extension in the current directory
  1399.               25 files in a .MAK file
  1400.  
  1401.               60 Constants
  1402.               25 TYPE structures
  1403.               40 variables in any TYPE structure
  1404.  
  1405.              100 Subprograms
  1406.               60 Functions
  1407.  
  1408.              100 different arrays in the whole listing
  1409.              100 variables and arrays used within any procedure
  1410.  
  1411.      COMMENTS will also terminate if there is no "END" statement at the end of
  1412.      the module level section of your listing.
  1413.  
  1414.      Note : When COMMENTS terminates because of a problem, it doesn't erase any
  1415.             file. Therefore you may find a ".BAK", ".TMP", or ".NEW" file in
  1416.             your directory. These files need not be deleted since COMMENTS will
  1417.             overwrite them the next time you use it for the same listing.
  1418.  
  1419.      Also note that the original file is renamed only when the whole process is
  1420.      completed. So should COMMENTS stop because of any problem, DO NOT erase
  1421.      the ".BAS" file and rename the ".BAK" file. The ".BAS" file is your
  1422.      original listing. The ".BAK" file is a copy of it, but if COMMENTS stopped
  1423.      before it had time to copy all the lines of your original listing, the
  1424.      ".BAK" file is not complete.
  1425.  
  1426.      If a problem occurs, note the error message and look at the ".BAK",
  1427.      ".TMP", and ".NEW" files. You will then easily find out why COMMENTS
  1428.      stopped.
  1429.  
  1430.      If your computer has less than 640K of RAM (Random Access Memory), the
  1431.      limitations mentionned above may actually be smaller than stated.
  1432.  
  1433.  
  1434.  
  1435.  
  1436.  
  1437.  
  1438.  
  1439.  
  1440.  
  1441.  
  1442.  
  1443.  
  1444.  
  1445.  
  1446.  
  1447.  
  1448.      COMMENTS v.1.2 - by LAMCO Software                                 Page 22
  1449.  
  1450.  
  1451.  
  1452.  
  1453.  
  1454.  
  1455.  
  1456.  
  1457.      ┌┬──────────────────────────────────────────────────────────────────────┬┐
  1458.      ││  11 - Technical support                                              ││
  1459.      └┴──────────────────────────────────────────────────────────────────────┴┘
  1460.  
  1461.      COMMENTS has been tested extensively, and has worked fine with all the
  1462.      listings I have ran through it, as long as the listing respected the
  1463.      requirements described in sections 4 and 9 of this documentation.
  1464.  
  1465.      Should you, however, run into any problem, please write to me. Most of
  1466.      the programs I write are in QuickBASIC and I run all my listings through
  1467.      COMMENTS. Therefore, I will definitely upgrade it, since I would like
  1468.      it to process the multiple modules listings I write. Time here, is the
  1469.      only problem, the source code file, striped of all comments and blank
  1470.      lines is pretty close to the 64K barrier. The next upgrade means that I
  1471.      must first break the code into at least two or three modules.
  1472.  
  1473.      You can write to me at one of the following addresses :
  1474.  
  1475.      In U.S.A. :                       In Canada :
  1476.  
  1477.      LAMCO Software                    LAMCO Software
  1478.      P.O. Box 847                      P.O. Box 46
  1479.      St-Albans                         Postal Station P.A.T.
  1480.      VT                                Montreal, Quebec
  1481.      05478                             H1B 5K1
  1482.  
  1483.      Please note that I am a Canadian. Mail that is sent to me in my
  1484.      canadian P.O. Box is checked and answered on a daily basis. The mail
  1485.      that is sent to my U.S. P.O. Box is picked up every monday morning
  1486.      and answered on the same day, so you may expect a slight delay if you
  1487.      address your mail to my U.S. P.O. Box.
  1488.  
  1489.  
  1490.      ┌┬──────────────────────────────────────────────────────────────────────┬┐
  1491.      ││  12 - What's coming up in version 2.0                                ││
  1492.      └┴──────────────────────────────────────────────────────────────────────┴┘
  1493.  
  1494.      When a .MAK file is used, version 2.0 will be able to process all the
  1495.      modules and read the '$INCLUDE files. The structure file will also
  1496.      indicate in which module is each procedure called.
  1497.  
  1498.      Comments added to your listing will be updated rather than overwritten, so
  1499.      you won't have to type in the same information twice or more if you run
  1500.      COMMENTS more than once on the same listing.
  1501.  
  1502.      Version 2.0 will also include configuration possibilities, so you can set
  1503.      the colors and type in only once options that you use often in your
  1504.      listings, such as Requirements, Source, or Language.
  1505.  
  1506.  
  1507.  
  1508.  
  1509.  
  1510.  
  1511.  
  1512.  
  1513.  
  1514.      COMMENTS v.1.2 - by LAMCO Software                                 Page 23
  1515.  
  1516.  
  1517.  
  1518.  
  1519.  
  1520.  
  1521.  
  1522.  
  1523.      ┌┬──────────────────────────────────────────────────────────────────────┬┐
  1524.      ││  13 - About Shareware                                                ││
  1525.      └┴──────────────────────────────────────────────────────────────────────┴┘
  1526.  
  1527.      COMMENTS is distributed through the Shareware concept. You are therefore
  1528.      encouraged to make copies and give them to anyone who might use it. We
  1529.      would also greatly appreciate it if you help us make it available to more
  1530.      users by uploading it to any BBS you have access to.
  1531.  
  1532.      The registration fee for COMMENTS is $ 20.00 (US$). Anyone who sends
  1533.      $ 30.00 or more will receive Version 2 as soon as it is available.
  1534.  
  1535.      Please support the Shareware concept. If you use COMMENTS, send your
  1536.      registration to one of the following addresses :
  1537.  
  1538.      In U.S.A. :                       In Canada :
  1539.  
  1540.      LAMCO Software                    LAMCO Software
  1541.      P.O. Box 847                      P.O. Box 46
  1542.      St-Albans                         Postal Station P.A.T.
  1543.      VT                                Montreal, Quebec
  1544.      05478                             H1B 5K1
  1545.  
  1546.      Please use the file REGISTER.FRM that accompanies this package.
  1547.  
  1548.      When you register, you will receive a printed manual, the latest
  1549.      registered version of the program and the source code of a few toolboxes
  1550.      you may use in your listings. The registered version of the program is the
  1551.      same as the Shareware version but does not have the beginning screen. When
  1552.      you use the program you get directly to the list of the .BAS files.
  1553.  
  1554.      Help us make a better product available to you. Send us your suggestions
  1555.      and please report any problem.
  1556.  
  1557.      COMMENTS was written with QuickBASIC version 4.5 and is intended to be
  1558.      used with either version 4.0 or 4.5 of QuickBASIC, but you may use it with
  1559.      other versions of QuickBASIC or other BASIC languages, as long as your
  1560.      listing was saved in ASCII format.
  1561.  
  1562.      If you use COMMENTS with another BASIC language and you find that COMMENTS
  1563.      doesn't work properly, please write to us, describing what happened. Maybe
  1564.      we can modify COMMENTS so Version 2 will accept the other BASIC languages
  1565.      as well or at least tell you how you could write your program so COMMENTS
  1566.      will work.
  1567.  
  1568.  
  1569.  
  1570.  
  1571.  
  1572.  
  1573.  
  1574.  
  1575.  
  1576.  
  1577.  
  1578.  
  1579.  
  1580.      COMMENTS v.1.2 - by LAMCO Software                                 Page 24
  1581.  
  1582.  
  1583.  
  1584.